package com.construction.api.service;

import com.construction.api.domain.model.result.PageResult;

import java.util.List;

/**
 * @author dybin
 * @Date: 2021-07-04 13:36
 */
public interface IService<T, K, E> {
    /**
     * 新增
     * @param t
     * @return
     */
    E insert(T t);

    /**
     * 修改
     * @param t
     * @return
     */
    E update(K k, T t);

    /**
     * 删除
     * @param
     * @return
     */
    void delete(K id);

    /**
     * 按主键查询
     * @param
     * @return
     */
    E get(K id);

    /**
     * 分页查询
     * @param size
     * @param current
     * @param t
     * @return
     */
    PageResult queryPageList(int size, int current, T t);

    /**
     * 条件查询
     * @param t
     * @return
     */
    List<E> queryList(T t);

}
